package com.baizhi.shane.shane.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

@ApiModel("分页查询文章出参VO")
@Data
public class PageEssayOutVO {
    @ApiModelProperty(value = "文章ID")
    private Long essayId;
    @ApiModelProperty(value = "文章标题")
    private String essayTitle;
    @ApiModelProperty(value = "文章显示文本")
    private String essayDisplayText;
    @ApiModelProperty(value = "文章创建时间")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createTime;
    @ApiModelProperty(value = "用户ID")
    private Long userId;
    @ApiModelProperty(value = "用户名")
    private String username;
    @ApiModelProperty(value = "用户昵称")
    private String userNickname;
    @ApiModelProperty(value = "用户头像URL")
    private String userImageUrl;
    @ApiModelProperty(value = "点赞数量")
    private Long likeCount;
    @ApiModelProperty(value = "当前用户是否已点赞")
    private Long nowUserLiked;
    @ApiModelProperty(value = "当前用户点赞的记录表ID")
    private Long nowUserLikedRelId;
    @ApiModelProperty(value = "收藏数量")
    private Long collectCount;
    @ApiModelProperty(value = "当前用户是否已收藏")
    private Long nowUserCollected;
    @ApiModelProperty(value = "当前用户收藏的记录表ID")
    private Long nowUserCollectedRelId;
    @ApiModelProperty(value = "评论数量")
    private Long commentCount;
    @ApiModelProperty(value = "当前用户是否已评论")
    private Long nowUserCommented;
    @ApiModelProperty(value = "反对数量")
    private Long againstCount;
    @ApiModelProperty(value = "当前用户是否已反对")
    private Long nowUserAgainsted;
    @ApiModelProperty(value = "当前用户反对的记录表ID")
    private Long nowUserAgainstRelId;
    @ApiModelProperty(value = "评论树(供前端使用，默认为空数组)")
    private List<CommentAnswerVO> commentTreeList;
    @ApiModelProperty(value = "是否显示评论树(供前端使用，默认为0不显示)")
    private Long showComment;

    // Getters and setters
}